# !/usr/bin/env python3
# -*- coding: utf-8 -*-
"""
===========================
@Time : 2022/8/17 0017 22:32
@Author : 测试开发工程师
@File : 1. 测试平台的价值与体系.py
@Software: PyCharm
============================
"""

"""
测试平台介绍：
    测试服务化 ： 版本迭代迅速，环境多
    测试智能化 ：基于图形识别的自动化测试 ， 测试用例的自动生成， 自动遍历页面，diff 测试(老版本与新版本不同)，精准化测试
    测试中台化 ： 测试左移 - 支撑研发质量   测试右移 - 支撑 devops 稳定运行， 支持产品与运营能力
    
测试平台需求分析：  自动化执行通过率，代码的覆盖率 ， 产品的线上 crash 率
    市场需求： 测试平台的开发目前是测试行业中的一个热门的技术
    公司需求：
        能为团队带来市场价值
        高效的平台做调度中心
    例子:
        DevOps 平台
        精准化测试平台
        质量监控平台等等

测试平台-前提：
    已有的开源测试平台不能满足需要，不要轻易造轮子
    测试的体系健全
    当体系，测试技术等游刃有余，构建平台展示带动整个团队甚至团队之外的其他团队
        比如 付费 wetest.qq.com（解决方案：功能测试，自动化测试，兼容测试，安全测试，性能测试。崩溃分析等）
    需要公司级别的定制，比如整合公司内部的多套环境
    
 
平台蓝图（what）：
    测试用例管理
    测试任务管理
    测试报告（测试结果管理）
    定时任务
    项目配置
    人员管理
    制品库
    

测试平台的基本功能（how）：  产品经理
    （用户管理）注册 -> 登录 
    （用例管理）用例导入 -> 管理用例 
    （任务管理）执行任务：定时任务 -> 报告管理，log (结果回传)
        
测试平台架构设计：   架构师
    前端技术架构：bootstrap,vue,react
    后端技术架构： django, flask, spring boot
    数据存储： mysql , es
    任务调度架构： jenkins
    数据报表： echarts, vega, kibana, grafana, allure
    项目多并发使用 go 语言，区块链使用 go 或者 rest 语言,大型商品网站（java）
    
常见的测试平台开发模式：
    
    大而全：
        Python Django
        Java Spring Boot
        React(前端框架)
        
    小而简：
        Python Flask
        Java sparkjava
        Vue

测试平台技术架构：
    
    前端展示层： 
        模板引擎渲染  VUE
        POST 请求  AXIOS
        Get 请求
    
    后端业务层：Flask  ， 后端数据（mysql）
        用例管理
        任务管理
        用户管理
    
    调度层：
        jenkins
    
    框架用例层：
        Pytest , JUnit5, htpprunner
    
    运行环境：
        linux ，windows
    
"""
